package com.indusfo.spc.service;

import com.indusfo.spc.pojo.Station;
import com.indusfo.spc.vo.JSONObject;

import java.util.List;

/**
 * @author: louk
 * @Description:工位信息service
 * @date: 2019/11/15 10:56
 */

public interface StationService {


    /**
     * 新增
     *
     * @param station
     * @return
     */
    JSONObject insertStation(Station station);

    /**
     * 删除
     *
     * @param staIds
     * @param dataState
     * @return
     */
    JSONObject delStation(Integer[] staIds, Integer dataState);

    /**
     * 修改
     *
     * @param station
     * @return
     */
    JSONObject updateStation(Station station);

    /**
     * 查询
     *
     * @param station
     * @return
     */
    JSONObject queryStation(Station station);

    /**
     * 根据编码查重
     *
     * @param station
     * @return
     */
    Station getByStationCode(String staCode, Integer staId);

    /**
     * 根据产线查询工位集合
     *
     * @param productionLineId
     * @return
     */
    List<Station> getByProductionLineId(Integer productionLineId);

    /**
     * 根据车间查询工位集合
     *
     * @param workShopId
     * @return
     */
    List<Station> getByWorkshopId(Integer workShopId);

    /**
     * 根据工序查询工位集合
     *
     * @param proId
     * @return
     */
    List<Station> getByProId(Integer proId);

    /**
     * 删除工序信息下的工位
     *
     * @param staIds
     * @return
     */
    JSONObject delStationByPro(Long[] staIds);

    /**
     * 检测Excel导入内容
     *
     * @param station
     * @return
     */
    String checkExcelContent(Station station);

    /**
     * 批量新增工位
     */
    JSONObject updateListStation(List<Station> stationList);

    /**
     * 去添加查询（产品，任务单，批次）
     */
    JSONObject queryListStationToInsert(Station station);

    JSONObject treeStation();
}
